Computer software applications allow users to create a variety of documents to assist them in work, education, and leisure. For example, popular word processing applications allow users to create letters, articles, books, memoranda, and the like. Spreadsheet applications allow users to store, manipulate, print, and display a variety of alphanumeric data. Such applications have a number of well-known strengths including rich editing, formatting, printing, calculation, and on-line and off-line editing.
Methods and systems have been developed for representing entire documents and all associated document properties and objects as an Extensible Markup Language (XML) representation. There are many components that make up such a document such as paragraphs, tables, styles, fonts, lists, and the like. Some components of a document reference other components for providing a first component with structural limitations. For example, a paragraph in a document might reference a particular style setting that would define how the paragraph is to appear in a document. For another example, a paragraph component of a document may be part of a particular list structure in a document. Because there are a number of properties and objects that other objects of a document may reference, such as styles, there is typically a need in a document for a header in which various properties and objects, such as style and font definitions, are located. Accordingly, when a paragraph, for example, references a particular style setting, an application parsing the document will know where to look to find a definition of the style setting referenced by the paragraph.
Unfortunately, a problem occurs when a user attempts to add additional content to a particular document where the additional content contains or references objects and properties such as styles and fonts apart from the objects and properties of the document to which the content is being added. For example, if a user desires to add a couple of paragraphs to an XML-formatted document, where the added paragraphs reference a particular style, it is necessary to determine if the particular style already exists in the document to which the paragraphs are added. If the particular style does exist in the document, it is then necessary to ensure that the style existing in the document contains the same properties as are expected for the added paragraphs. If the style does not exist, it is necessary to insert new style information for the added paragraphs into the header of the document. Either way, rather than simply dealing with the content (paragraphs) being added to the document, the user must deal with the entire document.
It is with respect to these and other considerations that the present invention has been made.